package C.e.string;

/**string的演示*/
public class StringDemo {
    public static void main(String[] args) {

    String s=new String("hello");//创建了2个对象
    String s1="hello";    //复用常量池中的字面量对象地址
    System.out.println(s==s1);//false，==比较的是地址是否相同
        //在实际应用中，String比较像等一般都是比较字符中的内容是否相同
        //因此我们需要使用equals()方法来比较两个字符串内容是否相同
        System.out.println(s.equals(s1));//true .equals()比较的是内容是否相同*/


          String  s2="123abc";//堆中创建123abc字符量对象，并缓存到常量池中*/
        //编译器在编译时，若发现是两个字面量相连，则会直接连接好并将结果保存起来
        //如下语句会被编译为：String s2="123abc";
        String s3="123"+"abc";
        System.out.println(s2==s3);//true

        String s4="123";
        //因为s3是一个变量，所以在编译器并不会直接编译好
        String s5=s4+"abc";//创建一个新的对象存储123abc
        System.out.println(s2==s5);//false;



    }

}
